package com.zrar.ak.gkpt.service.common;

import com.zrar.ak.gkpt.model.vo.UserVO;

import java.util.Map;

public interface ICirculationDetailsService {


    /**
     * 处理旧的流转明细和新增新的流转明细
     * @param businessId                业务主键
     * @param businessType              业务类型(1.招投标备案 2.合同备案 3.验收备案 4.资金使用备案)
     * @param circulationStatus         流转状态(1.下发 2.回复 3.退回修改 4.结束)
     * @param businessBuildUnitCode     流转明细业务所属建设单位编码
     * @param handlingOpinions          流转明细处理意见
     * @param userVO                    当前登录用户
     * @return
     */
    Boolean saveCirculationDetails(String businessId, String businessType, String circulationStatus, String businessBuildUnitCode, String handlingOpinions, UserVO userVO);

    /**
     * 根据业务类型和建设单位编码查看是否在对应的备案类型里还存在有效的流转明细，继而判断是否可对该建设单位进行新的该类型备案业务的下发操作
     * @param buildUnitCode
     * @return
     */
    Boolean canRecordAssign(String businessType, String buildUnitCode);

    /**
     * 根据业务主键和业务状态获取对应的流转意见信息及是否展示标识
     * @param businessId
     * @param businessStatus
     * @return  Map
     *              --handlingOpinionsShow： 0.处理意见不展示  1.处理意见展示一条  2.处理意见展示多条(包含历史数据)
     *              --handlingOpinions: 处理意见
     */
    Map getCirculeInfo(String businessId, String businessStatus);


}
